package com.example.test.operate.POJO.PO;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;

/**
 * <desc>
 *      运营用户实体类
 * </desc>
 *
 * @createDate
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class OperateUserInfoPO implements Serializable{
    private Integer id;

    private String userId;                          //用户id

    private String groupId;                         //部门id

    private String groupName;                       //部门名称

    private String userNum;                         //用户编号

    private String userName;                        //用户名

    private String realName;                        //姓名

    private String password;                        //密码

    private BigInteger phoneNum;                    //手机号

    private Integer gender;                         //性别： 0女 1男

    private Date birthday;                          //生日

    private String description;                            //备注


    private Integer authType;           //授权类型 1自定义 2长期有效

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date authStartTime;                   //授权开始时间

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date authEndTime;                     //授权结束时间

    private Date passwordTime;                          //上次修改密码时间
    private String token;                           //请求凭证
    private String roleId;                          //角色id 前端传参
    private String projectId;                      //项目id 前端传参
    private String roleName;                        //角色名
    //该属性判断是否是长时间未操作
    private Boolean isLongTimeNoOperation;
    private String mainSessionId;               //SSO前端用户唯一id
    private String secondarySessionId;          //预登陆系统唯一id
    private String operateSessionId;            //运营系统sessionId
    private String assessSessionId;             //报价系统sessionId
    private Integer type;                           //系统类型：1运营 2报价
    private Integer syncType;                   //同步类型：1保存用户 2更新用户 3删除用户
    private String syncRoleIds;                //同步角色id
    private String relationInfo;                //项目与用户关联列表

    private String ipAddress;

    private Integer status;

    private Date createTime;

    private Date updateTime;
//
//    private OperateGroupPO operateGroupPO;
}
